Asynchronous call interfaces provided by operating systems allow user programs to register callbacks which get processed after the completion of an operation requested by an asynchronous call. When completion of the requested operation takes a considerable amount of time by the operating system, user programs experience delays that lead to poor end-user response and productivity. Since these delays in the operating system cannot be measured or predicted, user programs typically cannot overcome this bottleneck. Therefore, no mechanism currently exists for handling large asynchronous requests from the user in an efficient manner.